約 1,774,413 件
https://w.atwiki.jp/yarusava/pages/177.html
「……見ない顔だな。貴様らどこの所属だ?」 ,、__ /ヽ ``ヽ // ̄' ̄ ̄ヽ.\. . . `i |,_, ,_,、 i .ト|, ニ/ヽ二|'ー!イ . , 、 | ̄,.レ,..、 )7 ヽ ヽ. _ .! ''===i /' } '´.-!、 ヽ `! !' ,//\_ .| -!,―イ>`'´‐< / \_ .ノ ,二!_/ /`―「_!―'./ / `― 、 /\ / |i | ///' / !_ \ 【名前】 カーネル・サンダース 【読み方】 かーねる・さんだーす 【種別】 人間 【現状】 死亡? 【初登場】 6thday 【AA出典】 ケンタッキー 【人物】 米軍の科学者。 ヌケドナルド・トールマンが持たらした天使側の技術を使い、ブラックハンドを作り上げた張本人。 非常に有能だが、口が軽いうえ味方と敵の区別がつかず、さらには乗せられやすい性格という機密を管理する立場としては問題の多い人物。 マドラックスの誘導尋問にあっさりとひっかかり、重要機密を喋ってしまった
https://w.atwiki.jp/osx86/pages/15.html
■カーネルをビルドする (2010/01/06) はじめに OSXはOSカーネルにBSDベースのカーネルを採用しており、10.5 LeopardからThe Open GroupよりSingle UNIX Specificationの認証を受けた正式なUNIX OS である。2009年末時点でThe Open Groupの認定を受け、UNIX商標を使えるOSは、Apple社のMac OS X 10.5 Leopard, 10.6 Snow Leopard、Sun Microsystems/富士通社のSolaris 10、HP社のHP-UX 11iv3、IBM社のAIX 5L、6の4製品のみである。Apple以外のOSは商用サーバ向けUNIX OSとして特殊なもの(シェア3割強でAIXがトップ)であり、実質的にUNIXのシェアトップはMac OS Xである。 カーネルはオープンソースとして公開(各ベンダが知的所有権を有しソースを公開できないデバイスドライバなどはkext(カーネル拡張 kernel extension)としてバイナリのみのモジュールで提供されソースは非公開)されており、誰もが自由に閲覧し、使用することができる。 Leopard 10.5についてはリファレンスライブラリのBuilding and Debugging Kernelsなどや、カーネルソースに付属するREADMEを参照することでビルドできるが、Snow Loepardからビルド方法が変更になった。その為、本項では一例として、2010年1月時点で最新の10.6.2のビルド方法を示す。 ■1. 統合開発環境Xcode IDEを導入 1.1 Macデベロッパプログラムに加入 Appleは、OSXでの統合開発環境(Xcode 3)を無償で提供しており、ADC(Apple Developer Connection)のOnline Membershipに登録することで誰でもダウンロードすることができる。 ADC Online Membership (無料) なお、有料会員のADC Select Membership(US $499)もしくはADC Premier Membership(US $3499)に登録すると、Max OS Xの最新ビルドをダウンロードすることもできる。 1.2 Xcode for Mac-only Developmentからダウンロードし、インストール Xcode 3.2.1 (for 10.6) (2010/1/1現在) Xcode 3.2.2 (above 10.6.2) and iPhone SDK 3.2 (2010/04/03 公開、2010/04/22 ビルド時にハングアップする不具合を修正) *Leopard(10.5)ではXcode 3.2.Xではなく、Xcode 3.1.Xをダウンロードする。 Xcode 3.1.3 (for 10.5) (2010/1/1現在) ■2.ビルドツールのソースをダウンロード 2.1 ビルドに必要となるツールのソースをダウンロード $ mkdir -p ~/Desktop/Dev$ cd ~/Desktop/Dev$ curl -s -O http //www.opensource.apple.com/tarballs/cxxfilt/cxxfilt-9.tar.gz$ curl -s -O http //www.opensource.apple.com/tarballs/dtrace/dtrace-78.tar.gz$ curl -s -O http //www.opensource.apple.com/tarballs/kext_tools/kext_tools-177.1.tar.gz$ curl -s -O http //www.opensource.apple.com/tarballs/bootstrap_cmds/bootstrap_cmds-72.tar.gz *curlコマンドはwgetに相当するコマンドラインのファイルダウンロードツール ■3. ツールを解凍 $ tar zxf cxxfilt-9.tar.gz$ tar zxf dtrace-78.tar.gz$ tar zxf kext_tools-177.1.tar.gz$ tar zxf bootstrap_cmds-72.tar.gz ■4.カーネルビルド用のツールをビルド 4.1 cxxfiltをビルドし、/usr/localにコピー $ cd cxxfilt-9$ mkdir -p obj sym dst$ make install RC_ARCHS="i386 x86_64" RC_CFLAGS="-arch i386 -arch x86_64 -pipe" RC_OS=macos RC_RELEASE=SnowLeopard SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst$ sudo ditto $PWD/dst/usr/local /usr/localPassword $ cd .. 4.2 dtraceをビルドし、/usr/localにコピー $ cd dtrace-78$ mkdir -p obj sym dst$ xcodebuild install -target ctfconvert -target ctfdump -target ctfmerge ARCHS="i386 x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst$ sudo ditto $PWD/dst/usr/local /usr/localPassword $ cd .. 4.3 kext_toolsをビルドし、/usr/localにコピー $ cd kext_tools-177.1$ mkdir -p obj sym dst$ xcodebuild install -target kextsymboltool -target setsegname ARCHS="i386 x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst$ sudo ditto $PWD/dst/usr/local /usr/localPassword $ cd .. 4.4 bootstraps_cmdsをビルドし、/usr/localにコピー $ cd bootstrap_cmds-72$ mkdir -p obj sym dst$ make install RC_ARCHS="i386" RC_CFLAGS="-arch i386 -pipe" RC_OS=macos RC_RELEASE=SnowLeopard SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst$ sudo ditto $PWD/dst/usr/local /usr/localPassword $ cd .. ■5. カーネルをビルドする 5.1 Darwin xnu(カーネルソース)をダウンロード $ curl -s -O http //www.opensource.apple.com/tarballs/xnu/xnu-1486.2.11.tar.gz 5.1 Darwin xnu(カーネルソース)を解凍 $ tar zxf xnu-1483.2.11.tar.gz 5.2 Darwin xnu(カーネルソース)をビルド $ cd xnu-1486.2.11$ make ARCH_CONFIGS="I386 X86_64" KERNEL_CONFIGS="RELEASE"$ file BUILD/obj/RELEASE_*/mach_kernelBUILD/obj/RELEASE_I386/mach_kernel Mach-O executable i386BUILD/obj/RELEASE_X86_64/mach_kernel Mach-O 64-bit executable x86_64 1. カーネルのビルド作業はCPUパワーに依存し、終了まで数分から数十分かかる。 2. ビルドしたカーネルは、32bit用はRELEASE_I386、64bit用はRELEASE_X86_64に作成される。 3. 日本語環境のターミナルでビルドすると、ビルド日付が漢字で挿入される為、アルファベットしか表示できない起動時のコンソールでは文字化けする。実用上問題ないが、気になる場合は、ビルド時のLANG環境変数をen_USに変更しておくと良い。 ・参考情報:Darwinbuild(SSEN S BLOG) 5.3 ユニバーサルバイナリに統合 $ lipo -create BUILD/obj/RELEASE_I386/mach_kernel BUILD/obj/RELEASE_X86_64/mach_kernel -output BUILD/obj/mach_kernel$ file BUILD/obj/mach_kernel BUILD/obj/mach_kernel Mach-O universal binary with 2 architecturesBUILD/obj/mach_kernel (for architecture i386) Mach-O executable i386BUILD/obj/mach_kernel (for architecture x86_64) Mach-O 64-bit executable x86_64 ・ルートディレクトリ(/)にコピーし、既存のカーネルファイル(mach_kernel)と置き換えることで有効になる。 ■応用編 1. ビルドしたカーネルの中身をデバッグする ビルドしたカーネルの中身をデバッグするため、binutils(Xcodeに含まれる)を使用しバイナリの中身を確認する。 1.1 hexdump 〜 バイナリをヘキサダンプする bash-3.2# hexdump -n 512 -C /mach_kernel00000000 ca fe ba be 00 00 00 03 01 00 00 07 00 00 00 03 |................|00000010 00 00 10 00 00 55 14 63 00 00 00 0c 00 00 00 07 |.....U.c........|00000020 00 00 00 03 00 55 30 00 00 71 88 85 00 00 00 0c |.....U0..q......|00000030 00 00 00 12 00 00 00 00 00 c6 c0 00 00 56 3b 90 |.............V;.|00000040 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 |................|00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|*00000200 1.2 strings 〜 バイナリの中の文字列を表示する bash-3.2# strings /mach_kernel | head -n 10default_pagervstruct zonedefault memory manager"%s[KERNEL] %s"@/SourceCache/xnu/xnu-1486.2.11/osfmk/default_pager/default_pager.c 436"can't start backing store monitor thread"@/SourceCache/xnu/xnu-1486.2.11/osfmk/default_pager/default_pager.c 319alloc pager thread"%s[KERNEL] %s"@/SourceCache/xnu/xnu-1486.2.11/osfmk/default_pager/default_pager.c 176alloc thread buffer"%s[KERNEL] %s"@/SourceCache/xnu/xnu-1486.2.11/osfmk/default_pager/default_pager.c 180wire thread buffer 1.3 nm 〜 シンボルを表示する bash-3.2# nm -l /mach_kernel | head -n 100083eb70 D .constructors_used0083eb78 D .destructors_usedff7f8000 A _APTDfeff7fc0 A _APTDpdeff000000 A _APTmap004470a2 T _AllocateNode0021b372 T _Assert0039efb5 T _BF_decrypt0039eb6c T _BF_encrypt0039f3fe T _BF_set_key 1.3 file 〜 ファイルタイプを表示する bash-3.2# file /mach_kernel/mach_kernel Mach-O universal binary with 3 architectures/mach_kernel (for architecture x86_64) Mach-O 64-bit executable x86_64/mach_kernel (for architecture i386) Mach-O executable i386/mach_kernel (for architecture ppc) Mach-O executable ppc 1.4 otool 〜 ニーモニックを表示する bash-3.2# otool -t -v -V /mach_kernel | head -n 10/mach_kernel (__TEXT,__text) section_local_log2 00201000 pushl %ebp00201001 movl %esp,%ebp00201003 movl 0x08(%ebp),%edx00201006 xorl %eax,%eax00201008 testl %edx,%edx0020100a jne 0x002010110020100c jmp 0x00201016 2. Core i5/i7(Clarkdale/Arrandale)、AMD CPU対応のカーネルを作成する 2.1 10.6.2 カーネル(xnu-1486.2.11)にCore i5/i7/AMD CPU対応パッチをあてる ・カーネルソース(xnu-1486.2.11)にAMD CPUパッチ(32bit)を適用 $ cd ~/Desktop/Dev$ patch -p0 albizu_10.2.diff patching file xnu-1486.2.11/Makefilepatching file xnu-1486.2.11/bsd/kern/kern_mib.cpatching file xnu-1486.2.11/bsd/kern/mach_process.cpatching file xnu-1486.2.11/bsd/kern/uipc_socket.cpatching file xnu-1486.2.11/bsd/sys/msgbuf.hpatching file xnu-1486.2.11/config/version.cpatching file xnu-1486.2.11/iokit/IOKit/IOCatalogue.hpatching file xnu-1486.2.11/iokit/IOKit/IOCatalogue.h.origpatching file xnu-1486.2.11/iokit/Kernel/IOCatalogue.cpppatching file xnu-1486.2.11/iokit/Kernel/IOPlatformExpert.cpppatching file xnu-1486.2.11/iokit/Kernel/IOStartIOKit.cpppatching file xnu-1486.2.11/iokit/bsddev/IOKitBSDInit.cpppatching file xnu-1486.2.11/libkern/c++/OSKext.cpppatching file xnu-1486.2.11/libkern/c++/OSKext.cpp.origpatching file xnu-1486.2.11/osfmk/conf/files.i386patching file xnu-1486.2.11/osfmk/i386/.cpuid.c.swppatching file xnu-1486.2.11/osfmk/i386/AT386/model_dep.cpatching file xnu-1486.2.11/osfmk/i386/acpi_wakeup.spatching file xnu-1486.2.11/osfmk/i386/commpage/bcopy_sse3_64.spatching file xnu-1486.2.11/osfmk/i386/commpage/commpage.cpatching file xnu-1486.2.11/osfmk/i386/commpage/commpage.c.origpatching file xnu-1486.2.11/osfmk/i386/commpage/commpage_asm.spatching file xnu-1486.2.11/osfmk/i386/commpage/commpage_mach_absolute_time.spatching file xnu-1486.2.11/osfmk/i386/commpage/sse3emu.cpatching file xnu-1486.2.11/osfmk/i386/commpage/sse3emu.hpatching file xnu-1486.2.11/osfmk/i386/cpu_capabilities.hpatching file xnu-1486.2.11/osfmk/i386/cpu_capabilities.h.origpatching file xnu-1486.2.11/osfmk/i386/cpu_topology.cpatching file xnu-1486.2.11/osfmk/i386/cpuid.cpatching file xnu-1486.2.11/osfmk/i386/cpuid.hpatching file xnu-1486.2.11/osfmk/i386/cpuid.h.origpatching file xnu-1486.2.11/osfmk/i386/cpuid_legacy.hpatching file xnu-1486.2.11/osfmk/i386/i386_init.cpatching file xnu-1486.2.11/osfmk/i386/idt.spatching file xnu-1486.2.11/osfmk/i386/idt64.spatching file xnu-1486.2.11/osfmk/i386/lapic.cpatching file xnu-1486.2.11/osfmk/i386/pmCPU.cpatching file xnu-1486.2.11/osfmk/i386/pmCPU.c.origpatching file xnu-1486.2.11/osfmk/i386/rtclock.cpatching file xnu-1486.2.11/osfmk/i386/rtclock.c.origpatching file xnu-1486.2.11/osfmk/i386/rtclock.hpatching file xnu-1486.2.11/osfmk/i386/rtclock.h.origpatching file xnu-1486.2.11/osfmk/i386/start.spatching file xnu-1486.2.11/osfmk/i386/trap.hpatching file xnu-1486.2.11/osfmk/i386/tsc.cpatching file xnu-1486.2.11/osfmk/i386/tsc.hpatching file xnu-1486.2.11/osfmk/kern/Makefilepatching file xnu-1486.2.11/osfmk/kern/debug.cpatching file xnu-1486.2.11/osfmk/kern/voodoo_assert.hpatching file xnu-1486.2.11/pexpert/i386/pe_kprintf.c ・参考情報 LINUX忘却録 diff / patch legacy_kernelを64bitに対応させるパッチを適用(追記 2010/04/23) ・32/64bit legacy_kernel patch AnV_Qoopz_snow_leopard_xnu_rel2 It involved changing some assembly code with __LP64__ compiler check for passing 32/64 bit code (little 64bit code port). ・AnV_Qoopz_snow_leopard_xnu_rel2を適用 $ patch -p0 AnV_Qoopz_snow_leopard_xnu_rel2.diff patching file xnu-1486.2.11/Makefilepatching file xnu-1486.2.11/bsd/kern/kern_mib.cpatching file xnu-1486.2.11/bsd/kern/mach_process.cpatching file xnu-1486.2.11/bsd/kern/uipc_socket.cpatching file xnu-1486.2.11/bsd/sys/msgbuf.hpatching file xnu-1486.2.11/config/version.cpatching file xnu-1486.2.11/iokit/IOKit/IOCatalogue.hpatching file xnu-1486.2.11/iokit/Kernel/IOCatalogue.cpppatching file xnu-1486.2.11/iokit/Kernel/IOPlatformExpert.cpppatching file xnu-1486.2.11/iokit/Kernel/IOStartIOKit.cpppatching file xnu-1486.2.11/iokit/bsddev/IOKitBSDInit.cpppatching file xnu-1486.2.11/libkern/c++/OSKext.cpppatching file xnu-1486.2.11/osfmk/conf/Makefile.i386patching file xnu-1486.2.11/osfmk/conf/Makefile.ppcpatching file xnu-1486.2.11/osfmk/conf/Makefile.x86_64patching file xnu-1486.2.11/osfmk/conf/files.i386patching file xnu-1486.2.11/osfmk/conf/files.x86_64patching file xnu-1486.2.11/osfmk/i386/AT386/model_dep.cpatching file xnu-1486.2.11/osfmk/i386/acpi_wakeup.spatching file xnu-1486.2.11/osfmk/i386/commpage/bcopy_sse3_64.spatching file xnu-1486.2.11/osfmk/i386/commpage/commpage.cpatching file xnu-1486.2.11/osfmk/i386/commpage/commpage_asm.spatching file xnu-1486.2.11/osfmk/i386/commpage/commpage_mach_absolute_time.spatching file xnu-1486.2.11/osfmk/i386/commpage/sse3emu.cpatching file xnu-1486.2.11/osfmk/i386/commpage/sse3emu.hpatching file xnu-1486.2.11/osfmk/i386/cpu_capabilities.hpatching file xnu-1486.2.11/osfmk/i386/cpu_topology.cpatching file xnu-1486.2.11/osfmk/i386/cpuid.cpatching file xnu-1486.2.11/osfmk/i386/cpuid.hpatching file xnu-1486.2.11/osfmk/i386/cpuid_legacy.hpatching file xnu-1486.2.11/osfmk/i386/i386_init.cpatching file xnu-1486.2.11/osfmk/i386/idt.spatching file xnu-1486.2.11/osfmk/i386/idt64.spatching file xnu-1486.2.11/osfmk/i386/lapic.cpatching file xnu-1486.2.11/osfmk/i386/pmCPU.cpatching file xnu-1486.2.11/osfmk/i386/rtclock.cpatching file xnu-1486.2.11/osfmk/i386/rtclock.hpatching file xnu-1486.2.11/osfmk/i386/start.spatching file xnu-1486.2.11/osfmk/i386/trap.hpatching file xnu-1486.2.11/osfmk/i386/tsc.cpatching file xnu-1486.2.11/osfmk/i386/tsc.hpatching file xnu-1486.2.11/osfmk/kern/Makefilepatching file xnu-1486.2.11/osfmk/kern/debug.cpatching file xnu-1486.2.11/osfmk/kern/voodoo_assert.hpatching file xnu-1486.2.11/pexpert/i386/pe_kprintf.c 2.2 修正カーネルをビルドする $ make ARCH_CONFIGS="I386" KERNEL_CONFIGS="RELEASE"$ md5 BUILD/obj/RELEASE_I386/mach_kernelMD5 (BUILD/obj/RELEASE_I386/mach_kernel) = e64772caa6cff8e44b887fe340f48823 2.3 10.6.3 カーネル(xnu-1504.3.12)にCore i5/i7(Clarkdale/Arrandale)/AMD CPU 対応のlegacy_kernelパッチをあてる ・カーネルソース(xnu-1504.3.12) ・10.6.3 legacy kernel for INTEL/AMDパッチ Standard fixes are included, plus a few extra stuff ・Built-in kernel blacklister automatically blacklists bad kexts from loading. Therefore you don't need to use a disabler to disable it manually・bigger dmesg Which translates to a larger log file so that you can troubleshoot easily・uuid patching/fix Eliminates the need of UUID kext or specifying manually・fsb detection・cpu cache detection・reboot fix- Eliminates the need of OpenHaltRestart and fixes shutdown/reboot issue・sse3emu -SSE3 emulator for SSE2 processors . Bear in mind that most of the applications in Snow Leopard run fine with this emulator. Some things added ・some support for the new 6 core i7・For people wanting to use XCode apps, I decided to add all the CHUD kexts to the kext blacklist. This means no more kp hell when installing and dealing with the development tools. If anyone thinks this is something that shouldn't be added, let me know.Features in this specific package ・If you have SleepEnabler installed, your SleepEnabler kext will get updated. If you don't use it, don't worry about it - it won't get installed.・All of the CPUIDs in the new versions of programs from the 10.6.3 update will get patched. this means you don't need to deal with the hell regarding iTunes, etc. (The actual patcher program also gets installed (/usr/local/bin/patcher, you can run from anyware via Terminal) as well as the CPUID text file (/Library/CPUIDs/*) Though this is only important to people who love control and want to be able to run it themselves -P - this is all automated in the installer regardless. Unfortunately we still havent gotten on the fly patching working, so this is a reasonable fix for it for now.)I do make cpuid files for updates and keep them online http //nawcom.com/osx86/cpuids/ for AMD people to use regarding updates as well as a nice frontend to Maxxuss' patcher app, drag and drop a cpuid.txt file onto the app to launch it - just like Taruga's HDA Patcher. ・10.6.3 legacy kernel for INTEL/AMDパッチを適用 $ patch -p0 legacy_kernel-1504.3.12.diff patching file xnu-1504.3.12/Makefilepatching file xnu-1504.3.12/bsd/kern/kern_mib.cpatching file xnu-1504.3.12/bsd/kern/mach_process.cpatching file xnu-1504.3.12/bsd/kern/uipc_socket.cpatching file xnu-1504.3.12/bsd/sys/msgbuf.hpatching file xnu-1504.3.12/config/version.cpatching file xnu-1504.3.12/iokit/IOKit/IOCatalogue.hpatching file xnu-1504.3.12/iokit/Kernel/IOCatalogue.cpppatching file xnu-1504.3.12/iokit/Kernel/IOPlatformExpert.cpppatching file xnu-1504.3.12/iokit/Kernel/IOStartIOKit.cpppatching file xnu-1504.3.12/iokit/bsddev/IOKitBSDInit.cpppatching file xnu-1504.3.12/libkern/c++/OSKext.cpppatching file xnu-1504.3.12/osfmk/conf/files.i386patching file xnu-1504.3.12/osfmk/i386/AT386/model_dep.cpatching file xnu-1504.3.12/osfmk/i386/acpi_wakeup.spatching file xnu-1504.3.12/osfmk/i386/commpage/bcopy_sse3_64.spatching file xnu-1504.3.12/osfmk/i386/commpage/commpage.cpatching file xnu-1504.3.12/osfmk/i386/commpage/commpage_asm.spatching file xnu-1504.3.12/osfmk/i386/commpage/commpage_mach_absolute_time.spatching file xnu-1504.3.12/osfmk/i386/commpage/sse3emu.cpatching file xnu-1504.3.12/osfmk/i386/commpage/sse3emu.hpatching file xnu-1504.3.12/osfmk/i386/cpu_capabilities.hpatching file xnu-1504.3.12/osfmk/i386/cpu_topology.cpatching file xnu-1504.3.12/osfmk/i386/cpuid.cpatching file xnu-1504.3.12/osfmk/i386/cpuid.hpatching file xnu-1504.3.12/osfmk/i386/cpuid_legacy.hpatching file xnu-1504.3.12/osfmk/i386/i386_init.cpatching file xnu-1504.3.12/osfmk/i386/idt.spatching file xnu-1504.3.12/osfmk/i386/idt64.spatching file xnu-1504.3.12/osfmk/i386/lapic.cpatching file xnu-1504.3.12/osfmk/i386/pmCPU.cpatching file xnu-1504.3.12/osfmk/i386/rtclock.cpatching file xnu-1504.3.12/osfmk/i386/rtclock.hpatching file xnu-1504.3.12/osfmk/i386/start.spatching file xnu-1504.3.12/osfmk/i386/trap.hpatching file xnu-1504.3.12/osfmk/i386/tsc.cpatching file xnu-1504.3.12/osfmk/i386/tsc.hpatching file xnu-1504.3.12/osfmk/kern/Makefilepatching file xnu-1504.3.12/osfmk/kern/debug.cpatching file xnu-1504.3.12/osfmk/kern/voodoo_assert.hpatching file xnu-1504.3.12/pexpert/i386/pe_kprintf.c$ make ARCH_CONFIGS="I386" KERNEL_CONFIGS="RELEASE"$ md5 BUILD/obj/RELEASE_I386/mach_kernelMD5 (BUILD/obj/RELEASE_I386/mach_kernel) = b8a03e979040e1a5cb0bb28c0735f675 ・参考ソース 3. ユニバーサルバイナリプログラムを作成する 3.1 Hello Worldをコンパイルする $ cat hello.c #include stdio.h int main(void) { printf("Hello World!!\n"); return 0;}$ cc -o hello hello.c$ file hellohello (for architecture i386) Mach-O executable i386 3.2 ユニバーサルバイナリでコンパイルする $ cc -o hello -arch i386 -arch x86_64 hello.c $ file hellohello Mach-O universal binary with 2 architectureshello (for architecture i386) Mach-O executable i386hello (for architecture x86_64) Mach-O 64-bit executable x86_64 戻る
https://w.atwiki.jp/twitterfatetrpg/pages/255.html
【クラス】シールダー 【真名】カーネル・サンダース 【容姿】白いスーツを着た老人 【英雄点】35点(ステ20点・スキル15点) 【HP】60 / 60 【筋力】A:5 【耐久】EX:8(10) 【敏捷】E:1 【魔力】C:3 【幸運】E:1 【スキル1】自陣防御 5点:最大HPを20増やす。相手の攻撃時、攻撃対象を自分に変更できる。 【スキル2】オリジナルレシピ 5点:キャラシート作成時、英雄点5を得る。魔術防御時、補正値5を得る。 【スキル3】経営者 5点:援護時のみこのスキルを使用できる。援護時、更に補正値3を与える。 【宝具】KFC 1/1 【ランク・種別】固有結界 【効果】令呪を2つ消費して発動する。 任意のタイミングに発動できる。現在地で陣地を作成出来る。 交戦フェイズ中に作成した場合、交戦フェイズ終了時に消滅する。 このサーヴァントは攻撃することはできない。 陣地内では自陣営全体に物理攻撃と物理防御と奇襲防御時、補正値3を得る。 この陣地は陣地破壊耐性を持つ。 【その他】KFC(ケンタッキーフライドチキン)。 物理攻撃(飯テロ)。
https://w.atwiki.jp/univalent-ja/pages/28.html
動的カーネルモジュールサポート(DotekiDynamic Kernel Module Support 略称DKMS)とは、カーネルのソースツリー外にソースが存在するLinuxカーネルモジュールの生成を可能にするプログラム及びフレームワークである。新しいカーネルが導入された際にモジュールが自動的に再構築されるので、利用者は開発元やパッケージ管理者による新しい版のモジュールの公開を待つ必要がないのである。Univalentでは23.07での導入が検討されていたが、前倒しで23.05より搭載された。 どうでもいいけど動的ってローマ字表記「Doteki」でも英語「Dynamic」でも「D」から始まるよな。ついでに静的も「Seiteki」と「Static」…これは偶然だろうか? 導入 dkmsextra パッケージとカーネルヘッダーを導入する。ヘッダーの一覧を以下の表に示す。 カーネル カーネルパッケージ ヘッダーパッケージ Stable linuxcore linux-headerscore Longterm linux-ltscore linux-lts-headerscore Realtime linux-rtextra linux-rt-headersextra Realtime linux-rt-ltsextra linux-rt-lts-headersextra Zen linux-zenextra linux-zen-headersextra Hardened linux-hardenedextra linux-hardened-headersextra 数多くのDKMS対応モジュールのパッケージが作成されている。多くはAURにあるが、一部は公式リポジトリにも存在する。
https://w.atwiki.jp/flaita/pages/240.html
カーネル・あのよろし 概要 webサイト じぐすふ・ほむぺ
https://w.atwiki.jp/aster-infra/pages/92.html
現在利用しているカーネルをバージョンアップする場合、 カーネルソース全体を入手する方法と、差分データ(パッチ)だけを 入手して既存のカーネルソースに適用する方法があります。 パッチファイルは容量も小さいので、カーネルソース全体を入手するよりも ダウンロードしやすいなどの利点があります。 パッチファイルはpatchコマンドを使って適用します。 # patch オプション < パッチファイル # patch オプション パッチファイル オプション -d ディレクトリ 指定したディレクトリに移動してから処理を行う -p パッチファイル内に書かれたパス名を修正する -p0 ~ パス名を修正しない -p1 ~ 最初の「/」まで削除 -p2 ~ 次のディレクトリまで削除する -C どういう処理が行われるかテストする -R パッチの適用を取り消して元に戻す 下の例では、パッチファイルpatch-2.4.10を適用します。 # patch -p1 < patch-2.4.10 パッチファイルは通常、圧縮された形で配布されているため、 回答と同時に適用するには次のようにします。 # bzip2 -dc patch-2.4.10.bz2 | patch -p1 パッチファイル内に記述されているパスと実際のパスが異なる場合は、 -pオプションを適切に指定しなければなりません。 例えば、パッチファイルを/usr/src/patch-2.4.10.gzとして配置し、 カレントディレクトリが/usr/src/linuxである場合は次のようになります。 # gzip -dc ../patch-2.4.10.gz | patch -p1 これはパッチファイル内でファイルのパスが 「a/arch/i386/kernel/acpi/boot.c」のように なっているからです。 -p1オプションを指定すると「a/」の部分が取り除かれ パス名が適切になります。
https://w.atwiki.jp/sweetgladiator/pages/38.html
カーネル「おい、半裸マッチ」 カーキス「何だ、デュー〇モンもどき」 ―バチッ! ピーナ「あぅ…」 カーネル「お前ペドって本当か?」 カーキス「消し炭になりてえのか…」 カーネル「だってこの前ピーナと着せ替えごっこしながらキャッキャウフフしてたんだろ」 カーキス「て、手前っ!どこでそのことを!?」 カーネル「皆さーん、半裸赤毛はロリペド野郎ですよー!」 カーキス「待てやっ!コラ―ッ!!」 ピーナ「あぅあぅ…」
https://w.atwiki.jp/magicman/pages/746.html
聖騎士カーネル UC 光文明 (6) クリーチャー:レインボー・ファントム 4500 ■このクリーチャーが手札から捨てられる時、代わりにバトルゾーンに出す 作者:紅 フレーバーテキスト DMO-01 「スーパーパック ノーリミット・カウンター」光のカーテンの合間には気をつけろ。 収録 DMO-01 「スーパーパック ノーリミット・カウンター」 評価 名前 コメント
https://w.atwiki.jp/talewiki/pages/9948.html
カーネル Lv210 編集 attachref ●攻撃!!! (単体,1hit,近距離)▲オーロラウォール!!! (自分中心範囲,1hit,中?距離)備考:中ボス、エフェクト有 発光設定周りに剣の像が出現し、物理攻撃特化?(茶色)・魔法攻撃特化?(水色)へ交互に変化する。 通常ドロップなしレアドロップなし Lv210 忘れられた天空の廃都
https://w.atwiki.jp/aster-infra/pages/98.html
カーネルをコンパイルする主な手順は下記になります。 1.カーネルソースを用意する 2.カーネルコンフィギュレーションを設定する 3.カーネルをコンパイルする。 4.カーネルモジュールをコンパイルする 5.カーネルとカーネルモジュールをが配置する 6.ブートローダの設定をする カーネルソースの準備 カーネルのソースコードは一般的に、/usr/srcディレクトリ以下の 「linux-カーネルバージョン」という名前のディレクトリに格納されます。 例えば、カーネル2.6.26の時、/usr/src/linux-2.6.26となります。 一般的には、/usr/src/linuxのようなシンボリックリンクを利用できます。 最新のカーネルソースは、http //www.kernel.orgから入手することができます。 カーネルソースを展開させるには、/usr/src以下にカーネルソースのtarボールを配置し、 次のようにします。 # gzip -cd linux-2.6.26.tar.gz | tar xvf - カーネルコンフィギュレーションの反映 カーネルの設定は、.configファイルに記録されており カーネルのバージョンアップをする場合は、ゼロから カーネルコンフィギュレーションを設定するのは大変です。 古いバージョンの設定ファイルはそのままでは利用できません。 なぜなら、カーネルがバージョンアップすると、 新しい機能が加わることなどにより設定項目に違いが生じるからです。 現在のカーネルコンフィギュレーションを新しい設定に反映させたい場合は make oldconfigを実行します。そうしたら、新しいカーネルで付け加えられた 機能についてのみ問い合わせを行い、従来から存在する設定については 既存の設定をそのまま流用します。